package com.hansming.bss.modules.sfc.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.hansming.bss.common.persistence.CrudDao;
import com.hansming.bss.common.persistence.Page;
import com.hansming.bss.common.persistence.annotation.MyBatisDao;
import com.hansming.bss.modules.sfc.entity.CarInfo;
import com.hansming.bss.modules.sfc.entity.Line;
import com.hansming.bss.modules.sfc.util.PageBean;

/**
 * 房车信息DAO接口
 * @author Hansming
 * @version 2017-09-16
 */
@MyBatisDao
public interface CarInfoDao extends CrudDao<CarInfo>{
	
	
	
	
	
	//得到首页城市菜单栏的房车信息
	public List<CarInfo> findFirstPageCarInfoInMenuByCity(String city);
	
	//得到首页导航栏的注册信息
	public List<CarInfo> findFirstPageCarInfoInNav();
	
	//根据搜索条件得到房车列表页的房车列表
	public List<CarInfo> getPageList(CarInfo carInfo,PageBean page,int sortid,int orderid);

	
	
	//============主要为后台操作的Dao=================
	
	//得到房车的连接表的信息
	public CarInfo getCarAndCarextr(CarInfo carinfo);
	
	//设置该房车为显示在首页城市菜单栏的房车
	public int updateCarInMenu(CarInfo carinfo);
	
	//取消显示在首页城市菜单栏的房车
	public int deleteCarInMenu(CarInfo carinfo);
	
	//设置该房车为显示在首页城市菜单栏的房车
	public int updateCarInNav(CarInfo carinfo);
		
	//取消显示在首页城市菜单栏的房车
	public int deleteCarInNav(CarInfo carinfo);
	
	//更新房车菜单的排序sort属性
	public void updatesort(CarInfo carinfo);
	
	
	//添加房车价格页面选择租车信息列表的方法
	public List<CarInfo> findCarByPageAndCar(CarInfo carinfo,PageBean page);
	
	
	//查标签（服务）
	 public CarInfo querytag(String id);
	 //保存详情（如旅游详情等）
	 public int savedetails(String details,String id);
	 //查询详情
	 public String querydetails(String id);
	
	
	//=====================小程序操作Dao=====================
	
	//搜索房车列表
	public List<CarInfo> findCarListInMiniapp(@Param("city")String city,@Param("drive")String drive,@Param("transmission")String transmission,@Param("bed")int bed,@Param("oiltype")String oiltype,@Param("passengers")int passengers,@Param("sortid")int sortid,@Param("orderid")int orderid);


	//=====================PC操作Dao==========================
	//在首页导航栏展示综合评分 最高的四个chanpin
	public List<CarInfo> getCarsInIndex();
	
	//首页下方导航栏根据城市来搜索排名靠前的4辆房车信息
	public List<CarInfo> getCarsInNav(@Param("city")String city);
	
	
	//搜索房车列表
	public List<CarInfo> findCarListInMiniapppage(@Param("city")String city,@Param("drive")String drive,@Param("transmission")String transmission,@Param("bed")int bed,@Param("oiltype")String oiltype,@Param("passengers")int passengers,@Param("sortid")int sortid,@Param("orderid")int orderid,@Param("page")PageBean page);
	
	
	
}
